Robot control apparatus

ABSTRACT

A robot control apparatus obtains movement speed of a monitor point from a motion command of a control point such as a support, each joint, and the like generated based on a program or the like to control motion so that each region of a robot always becomes a command speed or lower. Since there are provided a parameter storage part ( 21 ) for storing monitor point information, a locus generation part ( 22 ) for generating motions of the support, each joint point, and the like based on the movement command, a control point speed control part ( 26 ) for obtaining speed of the control point such as the support, each joint point, and the like, a monitor point speed control part ( 27 ) for obtaining speed of the monitor point generated from motion speed of the control point, and a motion command part ( 28 ) for selecting the maximum speed among the speed of the control point and the speed of the monitor point to compare the maximum speed with the command speed and changing and controlling the speed of the control point to the command speed when the maximum speed exceeds the command speed, generation of an excessive movement speed caused by an attitude of the robot and a singular point can be prevented, so that safety of an operator is ensured.

TECHNICAL FIELD

[0001] This invention relates to a control apparatus for controlling amotion of a robot having two or more driving parts at a command speed orlower.

BACKGROUND ART

[0002] In a robot control apparatus according to the related art,control in which using a position of a hand etc. of the top of a robotas a control point, its speed does not exceed a command speed or controlin which a speed of a joint part at a time when passing through asingular point does not exceed a limit speed of a driving apparatus hasbeen performed.

[0003]FIG. 6 is a diagram showing an appearance configuration of ahorizontal joint type robot used in the related art and comprising arobot 1, a control apparatus 2, and a manual operation apparatus 3 foroperating the robot. The robot 1 comprises a hand 11 for grasping anarticle, a second arm 12, a first arm 13, a support 14, and a base 15.

[0004]FIG. 7 is a block diagram showing each internal configuration ofthe control apparatus 2 for robot and the manual operation apparatus 3described in JP-A-11-104981. But, in order to make a configuration of arobot apparatus clear, an appearance of the robot 1 is appended to thediagram. The control apparatus 2 comprises a parameter storage part 21,a locus generation part 22, a speed control part 23, a motion commandpart 24, and a driving control part 25. Also, the manual operationapparatus 3 comprises a key input part 31 and a key information outputpart 32.

[0005] A key operation by an operator is inputted to the key input part31 of the manual operation apparatus 3 and the information is outputtedto the key information output part 32. As a result of this, manualmotion information ΔP outputted is inputted to the locus generation part12 of the control apparatus 2. Here, in accordance with the manualmotion information ΔP, a command speed V_(S) stored in the parameterstorage part 21 is selected and based on this command speed V_(s), themovement amount ΔL per unit time ΔT, which is a calculation cycle of thecontrol apparatus 2, is calculated.

ΔL=V _(S) ×ΔT

[0006] Motion locus generation is performed based on the movement amountΔL calculated here.

P ₂ =P ₁ +ΔL

[0007] where P₁ indicates the present position of the robot 1 and P₂indicates a motion target position of the robot 1. The motion targetposition P₂ of the robot 1 generated here is outputted to the speedcontrol part 23 as a motion command. In the speed control part 23, speedmonitor control is performed based on the motion target position P₂.Here, the actual speed V_(j) is calculated by using the present positionP₁ of the robot and the motion target position P₂.

V _(j) =|P ₂ −P ₁ |/ΔT

[0008] With the calculated speed V_(j), a speed ratio V_(ratio) iscalculated from the command speed V_(S) stored in the parameter storagepart 21.

V _(ratio) =V _(S) /V _(j)

[0009] Here, a case of V_(ratio)>1 indicates that a speed can beincreased still and a case of V_(ratio)<1 indicates that the presentspeed needs to be decreased.

[0010] By using the ratio of V_(ratio) calculated here, the motiontarget position P₂ is again created in the motion command part 24.

P ₂ =P ₁ +ΔL×V _(ratio)

[0011] The motion target position P₂ calculated here is outputted to thedriving control part 15 as a motion command. By performing speedmonitoring in this speed control part 23 and regeneration of the motiontarget position in the motion control part 24 every calculation cycle ofthe control apparatus 2, motions are made at a speed lower than or equalto a reference speed.

[0012] As described above, in the robot control apparatus according tothe related art, a movement speed is controlled so that the hand 11 ofthe robot top or a joint part is used as a control point and its speeddoes not exceed a safe speed. Also, even during a teaching mode of therobot, since a teacher works in very close contact with the robot, it isdisclosed that the movement speed is controlled so that the speed of thehand 11 or the joint part which is the control point does not exceed thesafe speed in order to ensure the safety.

[0013] However, the robot generally comprises plural joints, anddepending on an attitude, the hand 11 mounted in the arm top or thejoint part may not move at the highest speed. These examples will bedescribed using motion illustrations of the robot of FIGS. 8 to 10.

[0014] First, in a horizontal joint type robot shown in a motionillustration of FIG. 8, when a position of a hand 11 is moved from apoint A to a point B, a point C which is a joint part between the firstarm 13 and the second arm 12 moves to a point D about a turn centerpoint O of a support 14. Also, a point E which is the top of the firstarm 13 moves to a point F and as is evident from the drawing, it isfound that a line segment EF of the movement amount of the top of thefirst arm 13 is longer and a movement speed thereof is larger ascompared with a line segment AB of the position movement amount of thehand 11. Generally, in the case that the point A which is a position ofthe hand 11 is located within a radius of a length Lo of the first arm13 when viewed from the turn center point O of the support 14, an elbowpart which is a joint part between the first arm 13 and the second arm12, namely the point C or point E moves at a speed larger than amovement speed of the hand 11.

[0015] Further, in a horizontal joint type robot shown in a motionillustration of FIG. 9, similarly when a point A of a position of a hand11 is moved from a state in which a first arm 13 and a second arm 12extend in a straight line to a point B toward a turn center point 0 of asupport 14, a point C of a joint part between the first arm 13 and thesecond arm 12 and a point E of the top of the first arm 13 move at aspeed higher than that of the point A of the position of the hand 11.

[0016] Furthermore, in a vertical multi-joint type robot shown in FIG.10, as the same marks as the horizontal joint type robot shown in FIG. 8are allotted, a point C of a joint part moves at a speed higher thanthat of a point A of a position of a hand 11 and further one point E ofa second arm 12 moves at a high speed.

DISCLOSURE OF THE INVENTION

[0017] This invention is constructed so that a portion, other than acontrol point of a robot, in which a motion speed may become large, inother words, the arm end most distant from a joint part is set as amonitor point and a distance from the joint part to the monitor pointand an angle is stored in a parameter storage part as monitor pointinformation and a movement speed of the monitor point is calculatedbased on a rotational speed of the joint part obtained from a movementcommand of the control point of the robot and a target motion positionis changed so that all the movement speed of each control point and themovement speed of each monitor point become a command speed or lower andas a result of that, the motion speed is changed and controlled.

[0018] It is constructed so that a distance from the joint part to bothends of an arm or an angle is stored in the parameter storage part asthe monitor point information.

[0019] It is constructed so that a distance from the joint part to atransferred article or an angle and a distance to the arm end or anangle are stored in the parameter storage part as the monitor pointinformation.

[0020] It is constructed so that a movement speed of each monitor pointis calculated based on a rotational speed of each joint part and anattitude of each arm, etc. obtained from a movement command of thecontrol point of the robot and further a combined movement speed iscalculated from a coupling state of the arms and the movement speed ofeach monitor point and a target motion position is changed so that allthe movement speed of each control point, the movement speed of eachmonitor point and the combined movement speed of each monitor pointbecome a command speed or lower and as a result of that, the motionspeed is changed and controlled.

[0021] In a case of using a robot control apparatus of this invention,the control point of the robot and the monitor point of the robot do notmove at a speed higher than the command speed when viewed from a base ofthe robot, so that there is an effect that a trial run for setting thecommand speed, etc. becomes unnecessary.

[0022] Also, in a case that a teaching operator performs teachingoperations in the vicinity of the robot, since an arm etc. do not movesuddenly at a speed higher than the command speed, safety of theteaching operator can be ensured and further there is no need to set ateaching speed at low speed making allowance for safety to perform theteaching operations, so that there is an effect that the teachingoperations can be performed efficiently.

[0023] Also, in a case that the robot control apparatus of thisinvention is adopted to a wrist shaft provided in the top of the robotand a monitor point is specified to the top of a transferred article,even though a rotational speed command of the wrist shaft is set at highspeed, the top of the transferred article does not move at a specifiedspeed higher than a motion command speed of the robot, so that there isan effect that setting of a rotational speed is also simplified.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024]FIG. 1 is a block diagram of a robot control apparatus accordingto a first embodiment of this invention.

[0025]FIG. 2 is a flowchart illustrating processing operations accordingto the first embodiment.

[0026]FIG. 3 is a motion illustration illustrating a motion of a robotaccording to the first embodiment.

[0027]FIG. 4 is a plan view showing a robot hand part according to asecond embodiment.

[0028]FIG. 5 is a motion illustration illustrating a motion of a robotaccording to a third embodiment.

[0029]FIG. 6 is a configuration diagram showing an appearance of ageneral robot apparatus.

[0030]FIG. 7 is a block diagram of a robot control apparatus accordingto the related art.

[0031]FIG. 8 is a motion illustration illustrating a motion of ahorizontal multi-joint type robot according to the related art.

[0032]FIG. 9 is a motion illustration illustrating a motion of ahorizontal multi-joint type robot according to the related art.

[0033]FIG. 10 is a motion illustration illustrating a motion of avertical multi-joint type robot according to the related art.

BEST MODE FOR CARRYING OUT THE INVENTION

[0034] -First Embodiment—

[0035] A first embodiment of this invention will be described withreference to FIGS. 1 to 3.

[0036]FIG. 1 is a block diagram showing the first embodiment, and FIG. 2is its flowchart. FIG. 3 is a motion illustration of a robot.Incidentally, an appearance configuration of an apparatus is similar tothe apparatus according to the related art shown in FIG. 7, andcomprises a robot 1, a control apparatus 2, and a manual operationapparatus 3. A point different from the apparatus according to therelated art is a configuration of the control apparatus 2 and its detailwill be described with reference to the drawings.

[0037] In FIG. 1, numeral 21 is a parameter storage part which storesvarious parameter values and motion programs necessary for drivingcontrol of the robot 1. In this invention, as monitor point information,distances L_(A), L_(C), etc. from a joint part of each arm to the top ofthe arm are stored in the parameter storage part 21 as parameters.Numeral 22 is a locus generation part which determines the movementamount AL from a command speed V_(S) stored in the parameter storagepart and time ΔT which is a calculation cycle of a CPU (not shown) ofthe control apparatus 2 when a movement command is issued from themanual operation apparatus 3 or a movement command is issued from therobot motion programs, and repeats movement locus generation from thepresent position P₁ to a target position P₂ after the time ΔT andperforms locus generation to the final movement command position.Numeral 26 is a control point speed control part which calculates amotion speed in a hand 11 and each joint part as a motion speed of acontrol point.

[0038] Numeral 27 is a monitor point speed control part which obtains amovement speed at a monitor point from the motion speed of the controlpoint obtained by the control point speed control part 26 and themonitor point information stored in the parameter storage part 21.Numeral 28 is a motion command part which compares a movement speed at acontrol point and a movement speed at a monitor point with a commandspeed stored in the parameter storage part 21 and changes a motion speedof a joint so that the control point or the monitor point becomes thecommand speed when the movement speed at the control point or themonitor point exceeds the command speed. Numeral 25 is a driving controlpart which performs servo control of a driving motor (not shown) basedon a command from the motion command part 28 and performs rotationcontrol of a support 14 of the side of the robot 1 and a joint part ofeach arm.

[0039] Next, motions will be described based on a flowchart of FIG. 2.

[0040] When activation of the motion programs stored in the parameterstorage part 21 or the movement command from the manual operationapparatus 3 is generated, in step 41, the locus generation part 22calculates the movement amount AL every calculation cycle ΔT of thecontrol apparatus 2 from the command speed V_(S) stored in the parameterstorage part 21 toward a terminal point position of the movementcommand.

ΔL=V _(S) ×ΔT

[0041] The locus generation part 22 performs motion locus generationbased on the movement amount AL calculated here.

P ₂ =P ₁ +ΔL

[0042] Incidentally, P₁ indicates the present position of the robot 1and P₂ indicates a motion target position of the robot 1 after a lapseof the time ΔT. The motion target position P₂ of the robot 1 generatedby the locus generation part 22 is outputted to the control point speedcontrol part 26 as a motion command.

[0043] In step 42, the control point speed control part 26 obtains arotational angle Δθ₁ of a first arm 13 per unit time ΔT, a rotationalangle Δθ₂ of a second arm 12 per unit time ΔT, etc. based on the motiontarget position P₂. Further, a movement speed at each control point suchas a joint part is obtained from the obtained rotational angle. Forexample, a movement speed V_(C) of a point C which is a joint part ofthe first arm 13 can be obtained from a length L_(C) and the rotationalangleΔθ₁ of the first arm 13 by the following expression.

V _(C) =L _(C) ×Δθ ₁ /ΔT

[0044] Similarly, a speed V_(A) of a point A which is a position of ahand 11 can also be obtained from a rotational angle Δθ₁ of the support14, a rotational angleΔθ₂ of the second arm 12, lengths L_(C), L_(A) ofeach arm, attitudes θ₁, θ₂ of each arm and so on.

[0045] Next, in step 43, the monitor point speed control part 27 obtainsa movement speed at each monitor point from the movement speed of eachcontrol point obtained in the control point speed control part 26 andinformation on each monitor point stored in the parameter storage part21. For example, a movement speed of a monitor point E of the first arm13 can be obtained from a distance L_(E) from a rotation center point Oof the support 14 to the point E and the rotational angle Δθ₁ of thesupport 14 by the following expression.

V _(E) =L _(E) ×Δθ ₁ /ΔT

[0046] Similarly, a movement speed of a monitor point G of the secondarm 12 can be obtained by combining a movement speed of the point C byrotation of the first arm 13 and a movement speed of the point G byrotation of the second arm 12 about the point C with respect to thefirst arm 13.

[0047] In step 44, the motion command part 28 compares a speed of thecontrol point and a speed of the monitor point obtained in the controlpoint speed control part 26 and the monitor point speed control part 27with a command speed V_(S). When there is the speed exceeding thecommand speed V_(S), the maximum speed is selected and the processproceeds to step 45 and when all are lower than or equal to the commandspeed V_(S), the process proceeds to step 46. Incidentally, here,description is made assuming that the movement speed V_(E) of themonitor point E in FIG. 3 is the largest and is larger than the commandspeed V_(S).

[0048] In step 45, the motion command part 28 obtains a speed ratioV_(ratio) in a manner similar to the method according to the related artby the following expression.

V _(ratio) =V _(S) /V _(E)

[0049] By using the ratio of V_(ratio) calculated here, the motiontarget position P₂ is again created based on the following expression.

P ₂ =P ₁ +ΔL×V _(ratio)

[0050] In step 46, the motion command part 28 outputs the calculatedmotion target position P₂ to the driving control part 25 as a motioncommand.

[0051] In steps 47 and 48, the driving control part 25 outputs a drivingcommand of a driving motor of the robot 1 until reaching the targetposition P₂.

[0052] In step 49, a CPU of the control apparatus 2 decides whethermovement is performed to the terminal point position of the movementcommand or not, and if it is decided that the movement is not completed,the process returns to step 41 and setting of the next target positionP2 is made. Also, if it is decided that the movement is completed, thisprocessing is ended and a wait is performed until next movement commandis issued.

[0053] -Second Embodiment—

[0054]FIG. 4 is a plan view showing a hand part of a robot according toa second embodiment, for transferring a large glass substrate. In thedrawing, numeral 11 is a fork-shaped hand provided in the top of asecond arm 12 of a robot 1. The hand 11 is constructed so as to rotateabout a rotation center point O of a wrist shaft provided in the secondarm 12. Numeral 16 denotes a glass substrate which is a transferredarticle.

[0055] In a case of performing getting-out or storage of a pallet of theglass substrate 16 and transfer to a processing apparatus, when acommand rotational speed ω₁ of the wrist shaft specified by a program iscommanded to rotate about the point O, depending on a value of therotational speed ω₁, a movement speed of the corner of the glasssubstrate 16 may exceed a movement command speed V_(S) of a robotspecified previously.

[0056] In such a case, a monitor point H is specified with respect tothe wrist shaft which is a control point and, for example, a distanceL_(H) from the point O to the corner of the glass substrate is stored ina parameter storage part 21 and when there is an excessive rotationalspeed command ω₁, the rotational speed command ω₁ is changed andcommanded in a manner similar to the first embodiment.

[0057] On the change, first, a speed V_(O) of the corner is calculatedby the following expression.

V _(O) =L _(H)×ω₁

[0058] The speed V_(O) of the corner is compared with the movementcommand speed V_(S) of a control point and a speed ratio V_(ratio) iscalculated.

V _(ratio) =V _(S) /V _(O)

[0059] Here, in a case of V_(ratio)<1, the rotational speed command ω₁is again changed based on the following expression and is commanded to adriving control part 25.

ω₁=ω₁ ×V _(ratio)

[0060] By the above processing, a movement speed V_(H) of the point H ofthe corner of the glass substrate 16 is changed and controlled withinthe command speed V_(S) of the control point or the arm, etc.

[0061] Incidentally, in the above description, the case that the commandrotational speed ω₁ of the wrist shaft is specified has been shown, butwhen the command rotational speed ω₁ of the wrist shaft is obtained fromthe movement command speed V_(S) of the robot and monitor pointinformation and is commanded to the driving control part 25, there is noneed to previously specify the command rotational speed ω₁ of the wristshaft, so that input of a program or a parameter becomes unnecessary.

[0062] -Third Embodiment—

[0063]FIG. 5 is a diagram showing a multi-joint type robot apparatus,for illustrating a third embodiment and is the same as the robot forillustrating problems of motions in the related art of FIG. 10. Thethird embodiment is constructed so that a distance to both ends of anarm and an angle viewed from a joint part are inputted as a monitorpoint and movement speed of each of control points, monitor pointsmoving with motions of a joint are obtained, the movement speeds of themonitor points caused by the movement speeds of each control point arecombined to obtain a combined movement speed, the maximum speed amongthe movement speeds of the control points, the movement speeds of themonitor points, and the combined movement speed of the monitor point iscompared with a command speed, and the speed is limited when the maximumspeed exceeds the command speed.

[0064] Incidentally, the control apparatus block diagram of FIG. 1 andthe motion flowchart of FIG. 2 are the same, but the third embodimentdiffers from the first embodiment in the monitor point speed controlpart 27 and the processing contents in step 43.

[0065] The drawing will be described below.

[0066] In FIG. 5, numeral 11 is a hand of the top of a robot body 1, andnumeral 12 is a second arm, and numeral 13 is a first arm, and numeral14 is a support, and numeral 15 is a base. Also, a point A is a controlpoint of the hand 11, and a point C is the rotation center of a jointbetween the first arm 13 and the second arm 12, and a point O is therotation center of a joint between the support 14 and the first arm 13.θ₁ is an angle which the first arm 13 forms with a horizontal plane andθ₂ is an angle which the first arm 13 forms with the second arm 12.

[0067] A line segment L_(E) is a distance from the point C of a jointpart to a point E which is the longest position of the right side of thesecond arm 12 and θ_(E) is an angle of the point E viewed from the pointC of the joint part and is indicated by an angle formed with a shaft 12a of the second arm 12. Also, a line segment LH is similarly a distancefrom the point C to a point H which is the longest position of the leftside of the second arm and θ_(H) is an angle of the point H viewed fromthe point C of the joint part and is indicated by an angle formed withthe shaft 12 a of the second arm 12. These distances and angles areinputted from a key input part 31 as monitor point information and arestored in a parameter storage part 21. Incidentally, when a distance tothe longest portion of a transferred article is inputted as L_(H) whilethe transferred article being mounted in a portion of the hand 11,monitoring can be performed with respect to a speed of the top of thetransferred article. Also, in place of the distances and angles whichare the monitor point information, a distance H_(CE) from the point C ofthe joint part shown in FIG. 5 to the point E and an axial distanceL_(CE) from the point C to the point E in a shaft direction of thesecond arm 12 may be inputted as the monitor point information.Similarly, with regard to the point H of the other end of the second arm12, a distance L_(HC) and a distance H_(HC) may be inputted.

[0068] Next, motions in a case where a movement command is issued from aprogram with respect to a control point of the point A and as a resultof that, both rotation movements of the first arm 13 and the second arm12 are generated will be described.

[0069] When a movement command of the hand 11 from a program is issuedin a locus generation part 22, a control apparatus 2 determines themovement amount ΔL of the hand 11 in a calculation cycle ΔT from acommand speed V_(S) (step 41). A control point speed control part 26determines a movement command at each control point such as a rotationalangle Δθ₁ of the point O of a joint part which is a motion angle of thefirst arm 13 and a rotational angle Δθ₂ of the point C which is a motionangle of the second arm 12, etc. based on the movement amount ΔL (step42).

[0070] Then, in a monitor point speed control part 27, a movement speedof each monitor point is obtained based on the movement command of therotational angle of each joint determined in step 42 (step 43).

[0071] For example, a speed V_(EO) of a monitor point E associated withrotation of the point O of a joint part is obtained by the followingexpression.

V _(EO) =L _(OE)×Δθ₁ /ΔT

[0072] where a distance L_(OE) is a distance between the point O and thepoint E. The distance L_(OE) can be obtained from a distance L_(C)between the joints of the first arm 13, an attitude angle θ₁ of thefirst arm 13, an attitude angle θ₂ of the second arm 12, an angle θ_(E)of the monitor point E and a distance L_(E) to the monitor point E.

[0073] Then, a speed V_(EC) of the monitor point E associated withrotation of the point C of a joint part is obtained by the followingexpression.

V _(EC) =L _(E)×Δθ₂ /ΔT

[0074] Here, the speeds V_(EO), V_(EC) generated with the movement ofeach joint can be combined to obtain a speed V_(E) of the monitor pointE.

[0075] Similarly, a speed V_(HO) of a monitor point H associated withrotation of the point O of a joint part is obtained by the followingexpression.

V _(HO) =L _(OH)×Δθ₁ /ΔT

[0076] where a distance L_(OH) is a distance between the point O and thepoint H. The distance L_(OH) can be obtained from the distance L_(C)between the joints of the first arm 13, the attitude angle θ₁ of thefirst arm 13, the attitude angle θ₂ of the second arm 12, an angle θ_(H)of the monitor point H and a distance L_(H) to the monitor point H.

[0077] Then, a speed V_(HC) of the monitor point H associated withrotation of the point C of a joint part is obtained by the followingexpression.

V _(HC) =L _(H)Δθ₁ /ΔT

[0078] Here, vectors having the speeds V_(HO), V_(HC) generated with themovement of each joint and directions are combined, whereby a combinedspeed V_(H) of the monitor point E can be obtained.

[0079] In addition, all the movement speeds of the specified monitorpoints are calculated and the speeds are compared in combination withthe movement speeds of all the control points obtained by the controlpoint speed control part 26. In a motion command part 28, when there isa control point or a monitor point having the maximum speed exceedingthe command speed V_(S), a motion position is changed so that themaximum speed becomes the command speed V_(S) and as a result of that,the movement speed is changed.

[0080] Industrial Applicability

[0081] As described above, a robot control apparatus according to thisinvention can change and control a movement speed of each region of arobot to a command speed or lower, so that it is suitable for safeteaching work of the robot.

1. A robot control apparatus comprising: input means for inputting andspecifying a speed command value of a robot and position information ofa monitor point; parameter storage means for storing the speed commandvalue of the robot and the position information of the monitor point; alocus generation part for generating a movement command for driving eachjoint part such as a support arm based on a movement command of therobot; a control point speed control part for obtaining movement speedof each joint part as a control point based on the movement command fromthe locus generation part; a monitor point speed control part forobtaining motion speed of the monitor point based on the motion speed ofeach control point from the control point speed control part and theposition information of the monitor point stored in the parameterstorage means; a motion command part for selecting the maximum motionspeed among motion speed of each control point and the motion speed ofthe monitor point as the maximum motion speed to compare the maximummotion speed with the speed command value and changing and outputtingthe movement command so that the motion speed of the control point orthe monitor point of the maximum motion speed becomes the speed commandvalue or lower when the maximum motion speed exceeds the speed commandvalue; and a driving control part for driving the robot based on themotion speed outputted from the motion command part.
 2. A robot controlapparatus comprising: input means for inputting and specifying a speedcommand value of a robot and position information of a monitor point;parameter storage means for storing the speed command value of the robotand the position information of the monitor point; a locus generationpart for generating a movement command for driving each joint part suchas a support arm based on a movement command of the robot; a controlpoint speed control part for obtaining movement speed of each joint partas a control point based on the movement command from the locusgeneration part; a monitor point speed control part for obtaining motionspeed of each monitor point accompanied with movement speed of eachcontrol point based on the motion speed of each control point obtainedfrom the control point speed control part and the position informationof the monitor point stored in the parameter storage means and furthergenerating movement speed of the monitor point accompanied with motionsof the plurality of joints by combining the movement speed of eachmonitor point to obtain combined motion speed; a motion command part forselecting the maximum motion speed among motion speed of each controlpoint and the motion speed of the monitor point as the maximum motionspeed to compare the maximum motion speed with the speed command valueand changing and outputting the movement command so that the motionspeed of the control point or the monitor point of the maximum motionspeed becomes the speed command value or lower when the maximum motionspeed exceeds the speed command value; and a driving control part fordriving the robot based on the motion speed outputted from the motioncommand part.
 3. The robot control apparatus according to claim 1 or 2,wherein the maximum distance to bidirectional arm ends when viewed fromthe joint part and an angle are specified as the information of themonitor point.
 4. The robot control apparatus according to claim 1 or 2,wherein a region of a transferred article is specified as theinformation of the monitor point.
 5. A robot control apparatus having arotary shaft, comprising: input means for inputting and specifying aspeed command value of a robot, a rotational speed command value of therotary shaft of the robot, and position information of a monitor point;parameter storage means for storing the speed command value of therobot, the rotational speed command value of the rotary shaft, and theposition information of the monitor point; a locus generation part forgenerating a command for rotating and driving the rotary shaft based onthe rotational movement command value of the rotary shaft of the robot;a control point speed control part for obtaining rotational speed of therotary shaft based on the rotational movement command from the locusgeneration part; a monitor point speed control part for obtainingmovement speed of the monitor point based on the rotational speed of therotary shaft from the control point speed control part and theinformation of the monitor point stored in the parameter storage means;a motion command part for changing and outputting the rotationalmovement command so that the movement speed of the monitor point becomesthe speed command value or lower when the movement speed of the monitorpoint exceeds the speed command value; and a driving control part fordriving the rotary shaft of the robot based on a motion speed outputtedfrom the motion command part.